"""
数据处理器模块（简化版本）
由于不再需要STFT分析，此模块主要作为兼容性保留
"""

import numpy as np
from typing import Dict, Any, Optional
from src.logger import Logger


class DataProcessor:
    """IQ数据处理器（简化版本，仅作为兼容性保留）"""
    
    def __init__(self, config: Dict[str, Any], logger: Optional[Logger] = None):
        """
        初始化数据处理器
        
        Args:
            config: 分析配置（现在已不再使用）
            logger: 日志记录器
        """
        self.config = config
        self.logger = logger or Logger()
        
        # 数据存储
        self.iq_data = None
        self.sample_rate = None
        self.center_freq = None
        
        self.logger.info("数据处理器已初始化（简化版本）")
        self.logger.info("注意：STFT分析功能已被移除")
    
    def set_data(self, iq_data: np.ndarray, sample_rate: float, center_freq: float) -> None:
        """
        设置IQ数据（兼容性方法）
        
        Args:
            iq_data: 复数IQ数据
            sample_rate: 采样率 (Hz)
            center_freq: 中心频率 (Hz)
        """
        self.iq_data = iq_data
        self.sample_rate = sample_rate
        self.center_freq = center_freq
        self.logger.info(f"设置数据: 长度={len(iq_data)}, 采样率={sample_rate/1e6:.2f} MS/s, "
                        f"中心频率={center_freq/1e9:.3f} GHz")
        self.logger.warning("注意：STFT分析功能已被移除，数据仅用于兼容性存储")
    
    def process_and_display(self, display_layout: str = 'triple_pane',
                           save_path: Optional[str] = None) -> bool:
        """
        兼容性方法 - 不再进行任何处理
        
        Args:
            display_layout: 显示布局（已忽略）
            save_path: 图片保存路径（已忽略）
            
        Returns:
            始终返回True（兼容性）
        """
        self.logger.warning("process_and_display方法已被禁用 - STFT分析功能已移除")
        self.logger.info("数据处理器现在仅作为兼容性模块使用")
        return True
    
    def get_stft_result(self) -> Optional[Dict[str, Any]]:
        """
        兼容性方法 - 返回None
        
        Returns:
            None
        """
        self.logger.warning("get_stft_result方法已被禁用 - STFT分析功能已移除")
        return None
    
    def get_analysis_stats(self) -> Optional[Dict[str, Any]]:
        """
        兼容性方法 - 返回None
        
        Returns:
            None
        """
        self.logger.warning("get_analysis_stats方法已被禁用 - STFT分析功能已移除")
        return None